海南老脚数

vuePress-theme-reco 海南老脚数    2017 - 2021
海南老脚数 海南老脚数

Choose mode

  • dark
  • auto
  • light
主页
指南
  • 应用介绍
  • cH5-PWA应用 (opens new window)
  • SSR-个人官网 (opens new window)
  • 微前端框架应用 (opens new window)
印记
高级
  • 小程序Node后端实践
  • JS开发灵活的数据应用
  • Node核心知识
  • Git原理详解及实战
进阶
  • 大厂H5开发实战
  • 前端性能优化
  • 前端面试指南
组件库
  • Vue3.0
  • Nuxt
  • 吃吃吃
分类
  • 问题集中营
  • VUE
  • 前端小笔记
  • Cookie
  • 深夜食堂
标签
Github (opens new window)
掘金 (opens new window)
author-avatar

海南老脚数

5

文章

4

标签

主页
指南
  • 应用介绍
  • cH5-PWA应用 (opens new window)
  • SSR-个人官网 (opens new window)
  • 微前端框架应用 (opens new window)
印记
高级
  • 小程序Node后端实践
  • JS开发灵活的数据应用
  • Node核心知识
  • Git原理详解及实战
进阶
  • 大厂H5开发实战
  • 前端性能优化
  • 前端面试指南
组件库
  • Vue3.0
  • Nuxt
  • 吃吃吃
分类
  • 问题集中营
  • VUE
  • 前端小笔记
  • Cookie
  • 深夜食堂
标签
Github (opens new window)
掘金 (opens new window)
  • 额外说点:.gitignore——排除不想被管理的文件和目录
  • 高级 1:不喜欢 merge 的分叉?用 rebase 吧
  • 高级 2:刚刚提交的代码,发现写错了怎么办?
  • 高级 3:写错的不是最新的提交,而是倒数第二个?
  • 高级 4:比错还错,想直接丢弃刚写的提交?
  • 高级 5:想丢弃的也不是最新的提交?
  • 高级 6:代码已经 push 上去了才发现写错?
  • 高级 7:reset 的本质——不止可以撤销提交
  • 高级 8:checkout 的本质
  • 高级 9:紧急情况:「立即给我打个包,现在马上!」
  • 高级 10:branch 删过了才想起来有用?
  • 进阶 1:HEAD、master 与 branch
  • 进阶 2:push 的本质
  • 进阶 3:merge:合并 commits
  • 进阶 4:Feature Branching:最流行的工作流
  • 进阶 5:关于 add
  • 进阶 6:看看我都改了什么
  • 上手 1:新公司用 Git 管理代码,怎么快速上手?
  • 上手 2:团队工作的基本工作模型
  • 什么是分布式版本控制系统(DVCS)
  • 什么是版本控制系统(VCS)
  • 总结

vuePress-theme-reco 海南老脚数    2017 - 2021

高级 10:branch 删过了才想起来有用?

海南老脚数

# 高级 10:branch 删过了才想起来有用?

branch 用完就删是好习惯,但有的时候,不小心手残删了一个还有用的 branch ,或者把一个 branch 删掉了才想起来它还有用,怎么办?

# reflog :引用的 log

reflog 是 "reference log" 的缩写,使用它可以查看 Git 仓库中的引用的移动记录。如果不指定引用,它会显示 HEAD 的移动记录。假如你误删了 branch1 这个 branch,那么你可以查看一下 HEAD 的移动历史:

git reflog

1
2

从图中可以看出,HEAD 的最后一次移动行为是「从 branch1 移动到 master」。而在这之后,branch1 就被删除了。所以它之前的那个 commit 就是 branch1 被删除之前的位置了,也就是第二行的 c08de9a。

所以现在就可以切换回 c08de9a,然后重新创建 branch1 :

git checkout c08de9a
git checkout -b branch1

1
2
3

这样,你刚删除的 branch1 就找回来了。

注意:不再被引用直接或间接指向的 commits 会在一定时间后被 Git 回收,所以使用 reflog 来找回删除的 branch 的操作一定要及时,不然有可能会由于 commit 被回收而再也找不回来。

# 查看其他引用的 reflog

reflog 默认查看 HEAD 的移动历史,除此之外,也可以手动加上名称来查看其他引用的移动历史,例如某个 branch:

git reflog master

1
2

欢迎来到 海南老脚数
看板娘